#include <cstring>
#include <string>
#include <iostream>
using namespace std;
struct bign
{ //低位在前
    int big[1000];
    int len;
    bign()
    { //Constructor
        memset(big, 0, sizeof(big));
        len = 0;
    }
};
void trans(string str1, string str2, bign &bigl, bign &bigr)
{
    int len1 = str1.size(), len2 = str2.size();
    int i;
    for (i = 0; i < len1; ++i)
    {
        bigl.big[i] = str1[len1 - i - 1] - '0';
        bigl.len++;
    }
    for (i = 0; i < len2; ++i)
    {
        bigr.big[i] = str2[len2 - i - 1] - '0';
        bigr.len++;
    }
}
bign change(string str)
{
    int len = str.size();
    bign big;
    for (int i = 0; i < len; ++i)
    {
        big.big[i] = str[len - i - 1] - '0';
        ++big.len;
    }
    return big;
}
bign add(bign big1, bign big2)
{ //参数必须全正
    int carry = 0;
    int i;
    for (i = 0; i < big1.len || i < big2.len; ++i)
    {
        big1.big[i] = big1.big[i] + big2.big[i] + carry;
        carry = big1.big[i] / 10;
        big1.big[i] = big1.big[i] % 10;
    }
    if (carry > 0)
    {
        big1.big[i] = carry;
        big1.len = i + 1;
    }
    return big1;
}
bign sub(bign a, bign b)
{ //参数必须全正且前一个数字应该比后一个数更大
    int i;
    for (i = 0; i < b.len; ++i)
    {
        if (a.big[i] >= b.big[i])
        {
            a.big[i] -= b.big[i];
        }
        else
        {
            a.big[i + 1]--;
            a.big[i] = a.big[i] + 10 - b.big[i];
        }
    }
    if (0 == a.big[a.len])
    {
        a.len--;
    }
    return a;
}
bign multi(bign a, int b)
{
    int carry = 0;
    int i;
    for (i = 0; i < a.len; ++i)
    {
        carry += a.big[i] * b;
        a.big[i] = carry % 10;
        carry /= 10;
    }
    if (carry != 0)
    {
        a.big[i++] = carry % 10;
        a.len++;
        carry /= 10;
    }
    return a;
}
bign divide(bign a, int b, int &remainder)
{
    int i;
    for (i = a.len - 1; i > 0; --i)
    {
        remainder = a.big[i] % b;
        a.big[i] /= b;
        a.big[i - 1] += remainder * 10;
    }
    remainder = a.big[i] % b;
    a.big[i] /= b;
    while (0 == a.big[a.len - 1])
    {
        a.len--;
    }
    return a;
}
int main()
{
    string str1, str2;
    cin >> str1 >> str2;
    bign big1, big2;
    trans(str1, str2, big1, big2);
    int b = 2;
    big1 = add(big1, b);
    for (int i = big1.len - 1; i >= 0; --i)
    {
        cout << big1.big[i];
    }
    cout << endl;
    return 0;
}
